python正则表达式(6) | 您所在的位置:网站首页 › python subn › python正则表达式(6) |
1.re.split
语法: re.split(pattern, string[, maxsplit=0, flags=0]) 参数: pattern 匹配的正则表达式 string 要匹配的字符串。 maxsplit 分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。
>>>import re >>> re.split('\W+', 'runoob, runoob, runoob.') ['runoob', 'runoob', 'runoob', ''] (1)以分组为分割符的时候,分组内容也会被保存下来 >>> re.split('(\W+)', ' runoob, runoob, runoob.') ['', ' ', 'runoob', ', ', 'runoob', ', ', 'runoob', '.', ''] >>> re.split('\W+', ' runoob, runoob, runoob.', 1) ['', 'runoob, runoob, runoob.'] (2)可同时使用多个分隔符,分隔符,和.都会被切割>>> re.split('[,\.]',r'hello,Tom.how are you') ['hello', 'Tom', 'how are you'] (3)对于一个找不到匹配的字符串而言,split 不会对其作出分割>>> re.split('a*', 'hello world') ['hello world'] 2.sub方法 语法: re.sub(pattern, repl, string, count=0, flags=0) pattern.sub(repl, string[, count = 0]) 参数: pattern : 正则中的模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。 1) 当repl是一个字符串可以使用\id或\g、\g引用分组,但不能使用编号0。 2) 当repl是一个方法它必须传一个Match对象,并必须返回一个字符串用于替换(返回的字符串中不能再引用分组)。 (2)subn方法 这个函数跟sub函数用法差不多,只是它有一个额外的特征,结果是返回一个tuple,tuple第 一个元素是替换后的新字符串,第二个元素是替换的次数。 import re def add(m): v = int(m.group(0)) return str(v + 1) p = re.compile("(\d+)") result = p.subn(add, "1 2 3 4 5") print result >>>('2 3 4 5 6', 5) 3.re.escape方法 可以将字符串中所有可能被解释为正则运算符的字符进行转译。 >>> re.escape('www.python.org') 'www\\.python\\.org'
|
CopyRight 2018-2019 实验室设备网 版权所有 |